﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.IO;

namespace sccf.Views
{
    public partial class AgregarPuntos : System.Web.UI.Page
    {

        public static List<String> Puntos = new List<string>();
        public static List<List<HttpPostedFile>> Docs = new List<List<HttpPostedFile>>();
        protected void Page_Load(object sender, EventArgs e)
        {
            if (Vars.Usuario == null)
                Response.Redirect("Login.aspx");
            string[] fechas = AgregarPuntosController.verificarfechas();
            string YaAgrego = AgregarPuntosController.YaAgrego(Vars.Usuario);
            if (YaAgrego.CompareTo("Si")==0)
            {
                string razon = "Usted ya ha agregado puntos a agenda anteriormente";
                Response.Redirect("NoAccess2.aspx?razon=" + razon, true);
            }
            else if (fechas == null)
            {
                string razon = "No se Encontro ninguna sesión creada";
                Response.Redirect("NoAccess2.aspx?razon=" + razon, true);
            }
            else if (DateTime.Today < Convert.ToDateTime(fechas[0])&& DateTime.Today > Convert.ToDateTime(fechas[1]))
            {
                string razon = "Acceso en fecha no permitida";
                Response.Redirect("NoAccess2.aspx?razon=" + razon, true);
            }
            else
            {
                TextBox1.Text = fechas[2];
                TextBox2.Text = Convert.ToDateTime(fechas[1]).Date.ToString();
                UploadFiles1.DestinationFolder = "~/UploadedDocs/";
                UploadFiles1.FileExtensionsEnabled = ".pdf";
            }
            //TextBox1.Text = "11-2013";
            //TextBox2.Text = "16/07/2013";
        }

        protected void Button_Agregar_Click(object sender, EventArgs e)
        {

            if (TextArea_Punto.InnerText.CompareTo("") == 0)
            {
                WebMsgBox.Show("Por favor, escriba un punto a agregar");
            }
            else
            {
                ListBox_Puntos.Items.Add(TextArea_Punto.InnerText);
                Puntos.Add(TextArea_Punto.InnerText);
                List<HttpPostedFile> docs = new List<HttpPostedFile>();
                HttpFileCollection _fcol = UploadFiles1.Request.Files;
                for (int i = 0; i < _fcol.Count; i++)
                {
                    HttpPostedFile _postedF = _fcol[i];
                    docs.Add(_postedF);
                }
                Docs.Add(docs);
                TextArea_Punto.InnerText = "";
            }
        }
        protected void Button_Eliminar_Click(object sender, EventArgs e)
        {
            try
            {
                Puntos.RemoveAt(ListBox_Puntos.SelectedIndex);
                Docs.RemoveAt(ListBox_Puntos.SelectedIndex);
                ListBox_Puntos.Items.Remove(ListBox_Puntos.SelectedItem);
            }
            catch (Exception i)
            {

            }
             
        }

        protected void Button_Documento_Click(object sender, EventArgs e)
        {
        }

        protected void ListBox_Puntos_SelectedIndexChanged(object sender, EventArgs e)
        {

        }

        protected void Button_Enviar_Click(object sender, EventArgs e)
        {
            for (int i = 0; i < Docs.Count; i++)
            {
                for (int j = 0; j < Docs[i].Count; j++)
                {
                    if (Docs[i][j].FileName.CompareTo("") != 0)
                    {
                        string _f2save = string.Format("{0}\\{1}", Server.MapPath(UploadFiles1.DestinationFolder.ToString()), Path.GetFileName(Docs[i][j].FileName));
                        Docs[i][j].SaveAs(_f2save);
                    }
                }
            }

            AgregarPuntosController.RegistrarPuntos(Puntos, Docs, Vars.Usuario, TextBox1.Text);
            ListBox_Puntos.Items.Clear();
            TextArea_Punto.InnerText = "";
            Docs.Clear();
            Puntos.Clear();
            Response.Redirect("Exito.aspx?razon= Puntos Agregados Correctamente", true);
        }

    }
}